/**
 * Абстракции (и не только!) для работы с матрицами ячеек. Основа для Игрового Поля Матричных Игр.
 * <p>Концепция:
 * <li>Игровое Поле представляет собой прямоугольную {@linkplain matrix.IRange Область}, состоящую из {@linkplain matrix.ICell  Ячеек}
 * <li> координаты {@linkplain matrix.ICell Ячейки} описываются в терминах ("строка", "столбец"). Нумерация координат начинается с 1.
 * <li>в {@linkplain matrix.IRange (под)Области} можно выделять {@linkplain matrix.IRange#range(int, int, int, int) подОбласти} {@linkplain matrix.ICell  Ячеек} (строки, столбцы, диагонали,...).
 * <li>{@linkplain matrix.ICell Ячейки} храняться в {@linkplain matrix.IRangeStorage Хранилище} Ячеек.
 * <li>{@linkplain matrix.IRangeStorage Хранилище} предоставляет {@linkplain matrix.IRangeStorage#iterator(int, int, int, int) Итератор} для перебора {@linkplain matrix.ICell Ячеек}.
 * @see {@literal В этой работе использовалась книга Фримен Эр., Фримен Эл. - "Паттерны проектирования"} 
**/
package matrix;